home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 3 / Info_Mac_1994-01.iso / Development / General / SpriteWorld 1.0b3 / Headers / SpriteLayer.h < prev    next >
Text File  |  1993-05-31  |  3KB  |  78 lines

  1. ///--------------------------------------------------------------------------------------
  2. //    SpriteLayer.h
  3. //
  4. //    Created:    Tuesday, October 27, 1992 at 10:10:06 PM
  5. //    By:        Tony Myles
  6. //
  7. //    Copyright: © 1991-93 Tony Myles, All rights reserved worldwide
  8. //
  9. //    Description:    constants, structures, and prototypes for sprite layers
  10. ///--------------------------------------------------------------------------------------
  11.  
  12.  
  13. #ifndef __SPRITELAYER__
  14. #define __SPRITELAYER__
  15.  
  16. #ifndef __SPRITE__
  17. #include "Sprite.h"
  18. #endif
  19.  
  20. #ifndef SW_PASCAL
  21. #define SW_PASCAL
  22. #endif
  23.  
  24. extern RgnHandle gSWWorkRgn;
  25.  
  26.  
  27. ///--------------------------------------------------------------------------------------
  28. //    sprite layer type definitions
  29. ///--------------------------------------------------------------------------------------
  30.  
  31. typedef struct SpriteLayerRec SpriteLayerRec;
  32. typedef SpriteLayerRec *SpriteLayerPtr, **SpriteLayerHdl;
  33.  
  34.  
  35. ///--------------------------------------------------------------------------------------
  36. //    sprite layer data structure
  37. ///--------------------------------------------------------------------------------------
  38.  
  39. struct SpriteLayerRec
  40. {
  41.     SpriteLayerPtr nextSpriteLayerP;    // next sprite layer
  42.     SpriteLayerPtr prevSpriteLayerP;    // previous sprite layer
  43.  
  44.     SpritePtr headSpriteP;                // head of sprite linked list
  45.     SpritePtr tailSpriteP;                // tail of sprite linked list
  46.  
  47.     long userData;                            // reserved for user
  48. };
  49.  
  50.  
  51. ///--------------------------------------------------------------------------------------
  52. //    sprite layer function prototypes
  53. ///--------------------------------------------------------------------------------------
  54.  
  55. #ifdef __cplusplus
  56. extern "C" {
  57. #endif
  58.  
  59. SW_PASCAL OSErr SWCreateSpriteLayer(SpriteLayerPtr *spriteLayerP);
  60. SW_PASCAL void SWDisposeSpriteLayer(SpriteLayerPtr spriteLayerP);
  61.  
  62. SW_PASCAL void SWAddSprite(SpriteLayerPtr spriteLayerP, SpritePtr newSpriteP);
  63. SW_PASCAL void SWRemoveSprite(SpriteLayerPtr spriteLayerP, SpritePtr oldSpriteP);
  64. SW_PASCAL void SWSwapSprite(SpriteLayerPtr spriteLayerP, SpritePtr srcSpriteP, SpritePtr dstSpriteP);
  65. SW_PASCAL SpritePtr SWGetNextSprite(SpriteLayerPtr spriteLayerP, SpritePtr curSpriteP);
  66.  
  67. SW_PASCAL void SWLockSpriteLayer(SpriteLayerPtr spriteLayerP);
  68. SW_PASCAL void SWUnlockSpriteLayer(SpriteLayerPtr spriteLayerP);
  69.  
  70. SW_PASCAL void SWMoveSpriteLayer(SpriteLayerPtr spriteLayerP);
  71.  
  72. SW_PASCAL void SWCollideSpriteLayer(SpriteLayerPtr srcSpriteLayerP, SpriteLayerPtr dstSpriteLayerP);
  73.  
  74. #ifdef __cplusplus
  75. };
  76. #endif
  77.  
  78. #endif /* __SPRITELAYER__ */